package com.liliudong.template.biz.service.generate;

import com.baomidou.mybatisplus.extension.service.IService;
import com.liliudong.template.common.dto.generate.GenerateProjectAddDTO;
import com.liliudong.template.common.dto.generate.GenerateProjectModifyDTO;
import com.liliudong.template.common.dto.generate.GenerateProjectPageDTO;
import com.liliudong.template.common.entity.generate.GenerateProject;
import com.liliudong.template.common.vo.PageVO;
import com.liliudong.template.common.vo.generate.GenerateProjectDetailVO;
import com.liliudong.template.common.vo.generate.GenerateProjectPageVO;

/**
 * 代码生成-项目配置表 服务
 *
 * @author ldli5
 * @date 2024-07-03 12:33:21
 */
public interface GenerateProjectService extends IService<GenerateProject> {

	/**
	 * 添加
	 *
	 * @param generateProjectAddDTO 新增dto
	 */
    void addOne(GenerateProjectAddDTO generateProjectAddDTO);

	/**
	 * 删除
	 *
	 * @param id 主键
	 */
    void deleteById(Long id);

    /**
     * 修改
     *
     * @param id 主键
     * @param generateProjectModifyDTO 更新dto
     */
    void modifyById(Long id, GenerateProjectModifyDTO generateProjectModifyDTO);

    /**
     * 详情
     *
     * @param id 主键
     * @return {@link GenerateProjectDetailVO }
     */
    GenerateProjectDetailVO detailById(Long id);

    /**
     * 分页
     *
     * @param generateProjectPageDTO 分页查询dto
     * @return {@link PageVO<GenerateProjectPageVO> }
     */
    PageVO<GenerateProjectPageVO> queryPage(GenerateProjectPageDTO generateProjectPageDTO);

}
